_cccc_tttt_eeee_rrrr_mmmm_iiii_dddd generates the path name of the controlling terminal for the
current process, and stores it in a string.
If _s is a _NNNN_UUUU_LLLL_LLLL pointer, the string is stored in an internal static area,
the contents of which are overwritten at the next call to _cccc_tttt_eeee_rrrr_mmmm_iiii_dddd, and
the address of which is returned. Otherwise, _s is assumed to point to a
character array of at least _LLLL______cccc_tttt_eeee_rrrr_mmmm_iiii_dddd elements; the path name is placed
in this array and the value of _s is returned. The constant _LLLL______cccc_tttt_eeee_rrrr_mmmm_iiii_dddd is
defined in the _ssss_tttt_dddd_iiii_oooo_...._hhhh header file.
_cccc_tttt_eeee_rrrr_mmmm_iiii_dddd______rrrr is a reentrant version of _cccc_tttt_eeee_rrrr_mmmm_iiii_dddd. It differs from _cccc_tttt_eeee_rrrr_mmmm_iiii_dddd
only in that the parameter _s must be supplied. The feature test macro
______SSSS_GGGG_IIII______RRRR_EEEE_EEEE_NNNN_TTTT_RRRR_AAAA_NNNN_TTTT______FFFF_UUUU_NNNN_CCCC_TTTT_IIII_OOOO_NNNN_SSSS should be defined to make this function visible.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
_tttt_tttt_yyyy_nnnn_aaaa_mmmm_eeee(3C).
WWWWAAAARRRRNNNNIIIINNNNGGGG
_cccc_tttt_eeee_rrrr_mmmm_iiii_dddd should not be called with _s equal to a NNNNUUUULLLLLLLL pointer in a
multithreaded application due to the use of an internal static buffer for
the return value.
NNNNOOOOTTTTEEEESSSS
The difference between _cccc_tttt_eeee_rrrr_mmmm_iiii_dddd and _tttt_tttt_yyyy_nnnn_aaaa_mmmm_eeee(3C) is that _tttt_tttt_yyyy_nnnn_aaaa_mmmm_eeee must be
handed a file descriptor and returns the actual name of the terminal
associated with that file descriptor, while _cccc_tttt_eeee_rrrr_mmmm_iiii_dddd returns a string
(_////_dddd_eeee_vvvv_////_tttt_tttt_yyyy) that will refer to the terminal if used as a file name. Thus
_tttt_tttt_yyyy_nnnn_aaaa_mmmm_eeee is useful only if the process already has at least one file open